package com.smart.model.dtomapper;

import com.smart.model.domain.ProjectFileTaskDO;
import com.smart.model.request.ProjectFileTaskAddRequest;
import com.smart.model.request.ProjectFileTaskRequest;
import com.smart.model.request.ProjectFileTaskUpdateRequest;
import com.smart.model.vo.ProjectFileTaskVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author zhanghong
 */
@Mapper(componentModel = "spring")
public interface ProjectFileTaskDtoMapper {

    ProjectFileTaskDtoMapper INSTANCE = Mappers.getMapper(ProjectFileTaskDtoMapper.class);

    /**
    * DO to VO
    * @param projectFileTaskDO
    * @return
    */
    ProjectFileTaskVO do2VO(ProjectFileTaskDO projectFileTaskDO);

    /**
     * request to DO
     * @param request
     * @return
     */
    ProjectFileTaskDO request2DO(ProjectFileTaskRequest request);

    /**
     * request to DO
     * @param request
     * @return
     */
    ProjectFileTaskDO request2DO(ProjectFileTaskAddRequest request);

    /**
     * request to DO
     * @param request
     * @return
     */
    ProjectFileTaskDO request2DO(ProjectFileTaskUpdateRequest request);
}
